[INFO] cloning repository https://github.com/cnpm/rapid
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cnpm/rapid" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcnpm%2Frapid", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcnpm%2Frapid'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0c56518557c69c40dd33458d40734d09d9c369e1
[INFO] fixing cnpm/rapid against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcnpm%2Frapid" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/cnpm/rapid
[INFO] finished tweaking git repo https://github.com/cnpm/rapid
[INFO] tweaked toml for git repo https://github.com/cnpm/rapid written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cnpm/rapid on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cnpm/rapid already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5db3cb1e064f7deae2e7e4df5428130c2381127e14ec6f433fb705434812b889
[INFO] running `Command { std: "docker" "start" "5db3cb1e064f7deae2e7e4df5428130c2381127e14ec6f433fb705434812b889", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5db3cb1e064f7deae2e7e4df5428130c2381127e14ec6f433fb705434812b889" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5db3cb1e064f7deae2e7e4df5428130c2381127e14ec6f433fb705434812b889", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5db3cb1e064f7deae2e7e4df5428130c2381127e14ec6f433fb705434812b889" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating packages/binding/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating packages/downloader/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/bootstrap/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/utils/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/rafs/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/tokio-tar/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/fcntl/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating packages/bootstrap-bin/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/deamon/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   chrono v0.4.19 removed features: serde
[INFO] [stderr]   chrono v0.4.19 (as host dependency) removed features: serde
[INFO] [stderr]   libc v0.2.152 (as host dependency) removed features: extra_traits
[INFO] [stderr]   log v0.4.20 (as host dependency) removed features: kv_unstable, serde, std, value-bag
[INFO] [stderr]   num-traits v0.2.14 (as host dependency) removed features: default, std
[INFO] [stderr]   semver v0.9.0 removed features: serde
[INFO] [stderr]   serde v1.0.195 (as host dependency) removed features: derive, rc
[INFO] [stderr]   tokio v1.29.1 removed features: windows-sys
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling proc-macro2 v1.0.76
[INFO] [stderr]    Compiling serde v1.0.195
[INFO] [stderr]    Compiling syn v1.0.81
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]     Checking value-bag v1.6.0
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]    Compiling pkg-config v0.3.22
[INFO] [stderr]     Checking futures-sink v0.3.17
[INFO] [stderr]     Checking lock_api v0.4.11
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking num-traits v0.2.14
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling serde_json v1.0.69
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling anyhow v1.0.45
[INFO] [stderr]    Compiling hashbrown v0.8.2
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking yansi v0.5.0
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]     Checking ahash v0.3.8
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]     Checking httpdate v1.0.1
[INFO] [stderr]     Checking http v0.2.5
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking nonzero_ext v0.2.0
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking spmc v0.3.0
[INFO] [stderr]     Checking arc-swap v0.4.8
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking cache-padded v1.1.1
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]     Checking fastrand v1.5.0
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]     Checking generic-array v0.14.4
[INFO] [stderr]    Compiling cc v1.0.71
[INFO] [stderr]     Checking openssl-probe v0.1.4
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]    Compiling neon-build v0.9.1
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]     Checking async-task v4.0.3
[INFO] [stderr]     Checking async-channel v1.6.1
[INFO] [stderr]     Checking http v1.0.0
[INFO] [stderr]     Checking atomic-waker v1.0.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling encoding_rs v0.8.29
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking xattr v0.2.2
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking filetime v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]    Compiling libz-sys v1.1.3
[INFO] [stderr]    Compiling libgit2-sys v0.12.24+1.3.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling miniz-sys v0.1.12
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]    Compiling lz4-sys v1.9.2
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling openssl-sys v0.9.70
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking dashmap v4.0.2
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking quanta v0.4.1
[INFO] [stderr]     Checking sha2 v0.9.8
[INFO] [stderr]     Checking colored v1.9.3
[INFO] [stderr]     Checking tar v0.4.37
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking blocking v1.0.2
[INFO] [stderr]     Checking async-executor v1.4.1
[INFO] [stderr]    Compiling neon v0.9.1
[INFO] [stderr]     Checking async-mutex v1.4.0
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking neon-runtime v0.9.1
[INFO] [stderr]     Checking http-body v1.0.0
[INFO] [stderr]     Checking async-lock v2.4.0
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]     Checking ipnet v2.3.1
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking http-body v0.4.4
[INFO] [stderr]     Checking cslice v0.2.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking nix v0.23.0
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling axum-core v0.4.3
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling axum v0.7.4
[INFO] [stderr]     Checking num_threads v0.1.5
[INFO] [stderr]    Compiling convert_case v0.5.0
[INFO] [stderr]    Compiling napi-build v1.2.1
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]    Compiling darling_core v0.13.0
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]     Checking thread-id v4.2.1
[INFO] [stderr]     Checking vmm-sys-util v0.9.0
[INFO] [stderr]     Checking arc-swap v1.6.0
[INFO] [stderr]    Compiling binding v0.1.0 (/opt/rustwide/workdir/packages/binding)
[INFO] [stderr]    Migrating packages/binding/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking napi-sys v2.1.0
[INFO] [stderr]     Checking fcntl v0.1.0 (/opt/rustwide/workdir/packages/fcntl)
[INFO] [stderr]    Migrating packages/fcntl/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking sendfd v0.3.3
[INFO] [stderr]     Checking rapid-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling serde_derive v1.0.195
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]     Checking time v0.3.9
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking ct-logs v0.8.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling neon-macros v0.9.1
[INFO] [stderr]     Checking webpki v0.22.0
[INFO] [stderr]     Checking webpki-roots v0.21.1
[INFO] [stderr]    Compiling async-recursion v1.0.0
[INFO] [stderr]    Compiling ctor v0.1.22
[INFO] [stderr]    Compiling darling_macro v0.13.0
[INFO] [stderr]     Checking webpki-roots v0.22.1
[INFO] [stderr]    Compiling napi-derive-backend v1.0.23
[INFO] [stderr]    Compiling darling v0.13.0
[INFO] [stderr]    Compiling serde_with_macros v1.5.1
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking homedir v0.2.1
[INFO] [stderr]    Compiling napi-derive v2.0.7
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking http-body-util v0.1.0
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking governor v0.3.2
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking serde_with v1.11.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.15
[INFO] [stderr]     Checking serde_yaml v0.8.26
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]     Checking polling v2.1.0
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking tokio-stream v0.1.8
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking async-compression v0.3.8
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]     Checking async-io v1.6.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking napi v2.0.3
[INFO] [stderr]     Checking simple_logger v2.1.0
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-tar v0.3.0 (/opt/rustwide/workdir/packages/tokio-tar)
[INFO] [stderr]    Migrating packages/tokio-tar/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking flexi_logger v0.17.1
[INFO] [stderr]     Checking h2 v0.3.7
[INFO] [stderr]     Checking simple_logger v1.13.0
[INFO] [stderr]     Checking async-global-executor v2.0.2
[INFO] [stderr]     Checking h2 v0.4.2
[INFO] [stderr]     Checking log4rs v1.2.0
[INFO] [stderr]     Checking async-std v1.10.0
[INFO] [stderr]    Compiling git2 v0.13.23
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking rustls-native-certs v0.5.0
[INFO] [stderr]    Compiling cargo-lock v4.0.1
[INFO] [stderr]    Migrating packages/tokio-tar/tests/all.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/tokio-tar/examples/list.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/tokio-tar/examples/write.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/tokio-tar/examples/raw_list.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling built v0.4.3
[INFO] [stderr]    Migrating packages/tokio-tar/tests/entry.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/tokio-tar/examples/extract_file.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling nydus-utils v0.1.0 (/opt/rustwide/workdir/packages/utils)
[INFO] [stderr]    Migrating packages/utils/build.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/utils/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking hyper v1.1.0
[INFO] [stderr]     Checking hyper v0.14.14
[INFO] [stderr]     Checking rafs v0.1.0 (/opt/rustwide/workdir/packages/rafs)
[INFO] [stderr]    Migrating packages/rafs/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking hyper-util v0.1.2
[INFO] [stderr]     Checking nydus-bootstrap v0.1.0 (/opt/rustwide/workdir/packages/bootstrap)
[INFO] [stderr]    Migrating packages/bootstrap/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking nydus-rs v0.1.0 (/opt/rustwide/workdir/packages/bootstrap-bin)
[INFO] [stderr]    Migrating packages/bootstrap-bin/src/bin/checker/main.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/bootstrap-bin/src/bin/bootstrap/main.rs from 2018 edition to 2021
[INFO] [stderr]     Checking hyper-rustls v0.22.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyperlocal v0.8.0
[INFO] [stderr]     Checking reqwest v0.11.6
[INFO] [stderr]     Checking downloader v0.1.0 (/opt/rustwide/workdir/packages/downloader)
[INFO] [stderr]    Migrating packages/downloader/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking rapid_deamon v0.1.0 (/opt/rustwide/workdir/packages/deamon)
[INFO] [stderr]    Migrating packages/binding/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed packages/binding/src/lib.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/binding/src/lib.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |     while let Some(entry) = rx.recv().await {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^-----
[INFO] [stdout]     |                    |        |         |
[INFO] [stdout]     |                    |        |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |        |         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `entry` calls a custom destructor
[INFO] [stdout]     |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 174 |         match entry {
[INFO] [stdout] 175 |             Some(mut entry) => {
[INFO] [stdout]     |                  ---------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 188 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/binding/src/lib.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |     while let Some(entry) = rx.recv().await {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^-----
[INFO] [stdout]     |                    |        |         |
[INFO] [stdout]     |                    |        |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |        |         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `entry` calls a custom destructor
[INFO] [stdout]     |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 174 |         match entry {
[INFO] [stdout] 175 |             Some(mut entry) => {
[INFO] [stdout]     |                  ---------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 188 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating packages/downloader/src/main.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/deamon/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/config.rs:468:29
[INFO] [stdout]     |
[INFO] [stdout] 468 |     while let Some(entry) = entries.next_entry().await? {
[INFO] [stdout]     |                    -----    --------------------------^
[INFO] [stdout]     |                    |        |                    |
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    |        |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `entry` calls a custom destructor
[INFO] [stdout]     |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 469 |         if entry.file_type().await?.is_file() {
[INFO] [stdout]     |            -----------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 479 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/pid.rs:138:25
[INFO] [stdout]     |
[INFO] [stdout] 138 |         if let Err(e) = check_project(project.1).await {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |    |                        |
[INFO] [stdout]     |                    |    |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |    |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `e` calls a custom destructor
[INFO] [stdout]     |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/pid.rs:210:29
[INFO] [stdout]     |
[INFO] [stdout] 210 |     while let Some(entry) = dir.next_entry().await? {
[INFO] [stdout]     |                             ----------------------^
[INFO] [stdout]     |                             |                |
[INFO] [stdout]     |                             |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 211 |         entries.push(entry);
[INFO] [stdout] 212 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/server.rs:47:11
[INFO] [stdout]     |
[INFO] [stdout]  45 |     let state = state.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `state` calls a custom destructor
[INFO] [stdout]     |         `state` will be dropped later as of Edition 2024
[INFO] [stdout]  46 |     info!("handle add project path is {}", path);
[INFO] [stdout]  47 |     match add_project(config, state.project_tree.clone()).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                               |
[INFO] [stdout]     |           |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/server.rs:47:59
[INFO] [stdout]     |
[INFO] [stdout]  45 |     let state = state.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `state` calls a custom destructor
[INFO] [stdout]     |         `state` will be dropped later as of Edition 2024
[INFO] [stdout]  46 |     info!("handle add project path is {}", path);
[INFO] [stdout]  47 |     match add_project(config, state.project_tree.clone()).await {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/server.rs:98:26
[INFO] [stdout]     |
[INFO] [stdout]  96 |     let state = state.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `state` calls a custom destructor
[INFO] [stdout]     |         `state` will be dropped later as of Edition 2024
[INFO] [stdout]  97 |     let sender = state.sender.lock().await;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `sender` calls a custom destructor
[INFO] [stdout]     |         `sender` will be dropped later as of Edition 2024
[INFO] [stdout]  98 |     match sender.send(0).await {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/main.rs:87:33
[INFO] [stdout]     |
[INFO] [stdout]  79 | /         select! {
[INFO] [stdout]  80 | |             _ = receiver.recv() => {
[INFO] [stdout]  81 | |                 return;
[INFO] [stdout] ...   |
[INFO] [stdout]  84 | |                 if let Err(e) = nydus.init_daemon() {
[INFO] [stdout]     | |                            -    -------------------
[INFO] [stdout]     | |                            |    |
[INFO] [stdout]     | |                            |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  87 | |                 if let Err(e) = check_projects(project_tree.clone()).await {
[INFO] [stdout]     | |                            -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                            |    |                                    |
[INFO] [stdout]     | |                            |    |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                            |    |                                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                            |    |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                            |    |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            |    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                            |    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                            |    `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                            |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  91 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         `futures` calls a custom destructor
[INFO] [stdout]     | |_________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/time/entry.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/config.rs:468:29
[INFO] [stdout]     |
[INFO] [stdout] 468 |     while let Some(entry) = entries.next_entry().await? {
[INFO] [stdout]     |                    -----    --------------------------^
[INFO] [stdout]     |                    |        |                    |
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    |        |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `entry` calls a custom destructor
[INFO] [stdout]     |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 469 |         if entry.file_type().await?.is_file() {
[INFO] [stdout]     |            -----------------------
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 479 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/pid.rs:138:25
[INFO] [stdout]     |
[INFO] [stdout] 138 |         if let Err(e) = check_project(project.1).await {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |    |                        |
[INFO] [stdout]     |                    |    |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |    |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `e` calls a custom destructor
[INFO] [stdout]     |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/pid.rs:210:29
[INFO] [stdout]     |
[INFO] [stdout] 210 |     while let Some(entry) = dir.next_entry().await? {
[INFO] [stdout]     |                             ----------------------^
[INFO] [stdout]     |                             |                |
[INFO] [stdout]     |                             |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 211 |         entries.push(entry);
[INFO] [stdout] 212 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/server.rs:47:11
[INFO] [stdout]     |
[INFO] [stdout]  45 |     let state = state.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `state` calls a custom destructor
[INFO] [stdout]     |         `state` will be dropped later as of Edition 2024
[INFO] [stdout]  46 |     info!("handle add project path is {}", path);
[INFO] [stdout]  47 |     match add_project(config, state.project_tree.clone()).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                               |
[INFO] [stdout]     |           |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/server.rs:47:59
[INFO] [stdout]     |
[INFO] [stdout]  45 |     let state = state.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `state` calls a custom destructor
[INFO] [stdout]     |         `state` will be dropped later as of Edition 2024
[INFO] [stdout]  46 |     info!("handle add project path is {}", path);
[INFO] [stdout]  47 |     match add_project(config, state.project_tree.clone()).await {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/server.rs:98:26
[INFO] [stdout]     |
[INFO] [stdout]  96 |     let state = state.lock().await;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `state` calls a custom destructor
[INFO] [stdout]     |         `state` will be dropped later as of Edition 2024
[INFO] [stdout]  97 |     let sender = state.sender.lock().await;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `sender` calls a custom destructor
[INFO] [stdout]     |         `sender` will be dropped later as of Edition 2024
[INFO] [stdout]  98 |     match sender.send(0).await {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/deamon/src/main.rs:87:33
[INFO] [stdout]     |
[INFO] [stdout]  79 | /         select! {
[INFO] [stdout]  80 | |             _ = receiver.recv() => {
[INFO] [stdout]  81 | |                 return;
[INFO] [stdout] ...   |
[INFO] [stdout]  84 | |                 if let Err(e) = nydus.init_daemon() {
[INFO] [stdout]     | |                            -    -------------------
[INFO] [stdout]     | |                            |    |
[INFO] [stdout]     | |                            |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  87 | |                 if let Err(e) = check_projects(project_tree.clone()).await {
[INFO] [stdout]     | |                            -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                            |    |                                    |
[INFO] [stdout]     | |                            |    |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                            |    |                                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                            |    |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                            |    |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            |    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                            |    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                            |    `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                            |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  91 | |         }
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         `futures` calls a custom destructor
[INFO] [stdout]     | |_________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/time/entry.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cargo-lock v4.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: binding v0.1.0 (/opt/rustwide/workdir/packages/binding) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: downloader v0.1.0 (/opt/rustwide/workdir/packages/downloader) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: nydus-bootstrap v0.1.0 (/opt/rustwide/workdir/packages/bootstrap) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: nydus-utils v0.1.0 (/opt/rustwide/workdir/packages/utils) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: rafs v0.1.0 (/opt/rustwide/workdir/packages/rafs) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: tokio-tar v0.3.0 (/opt/rustwide/workdir/packages/tokio-tar) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: fcntl v0.1.0 (/opt/rustwide/workdir/packages/fcntl) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: nydus-rs v0.1.0 (/opt/rustwide/workdir/packages/bootstrap-bin) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: rapid_deamon v0.1.0 (/opt/rustwide/workdir/packages/deamon) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rapid-rs v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling serde v1.0.195
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking tokio v1.29.1
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]     Checking neon v0.9.1
[INFO] [stderr]    Compiling binding v0.1.0 (/opt/rustwide/workdir/packages/binding)
[INFO] [stderr]     Checking fcntl v0.1.0 (/opt/rustwide/workdir/packages/fcntl)
[INFO] [stderr]     Checking rapid-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `lock_contended_error`
[INFO] [stdout]  --> packages/fcntl/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fs2::{lock_contended_error, FileExt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Ok(msg) => Ok(()),
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lock_contended_error`
[INFO] [stdout]  --> packages/fcntl/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fs2::{lock_contended_error, FileExt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fs::remove_file(fp);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = fs::remove_file(fp);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         f.lock();
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let _ = f.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         f.unlock();
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let _ = f.unlock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         f2.lock();
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let _ = f2.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         f2.unlock();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = f2.unlock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fs::remove_file(fp);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let _ = fs::remove_file(fp);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         f.lock();
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = f.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         f2.lock();
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let _ = f2.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Ok(msg) => Ok(()),
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking flexi_logger v0.17.1
[INFO] [stderr]     Checking simple_logger v1.13.0
[INFO] [stderr]     Checking log4rs v1.2.0
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling cc v1.0.71
[INFO] [stderr]    Compiling libz-sys v1.1.3
[INFO] [stderr]    Compiling libgit2-sys v0.12.24+1.3.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling miniz-sys v0.1.12
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling lz4-sys v1.9.2
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]    Compiling openssl-sys v0.9.70
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling cargo-lock v4.0.1
[INFO] [stderr]     Checking tokio-stream v0.1.8
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking async-compression v0.3.8
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking napi v2.0.3
[INFO] [stderr]     Checking h2 v0.3.7
[INFO] [stderr]     Checking h2 v0.4.2
[INFO] [stderr]     Checking tokio-tar v0.3.0 (/opt/rustwide/workdir/packages/tokio-tar)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let mut this = self.get_mut();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:356:19
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                  ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:392:24
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:342:23
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:930:23
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> packages/tokio-tar/src/header.rs:1569:22
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<[u8]>> {
[INFO] [stdout]      |                      ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<'_, [u8]>> {
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/tokio-tar/src/pax.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let mut this = self.get_mut();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:356:19
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                  ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:392:24
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:342:23
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:930:23
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> packages/tokio-tar/src/header.rs:1569:22
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<[u8]>> {
[INFO] [stdout]      |                      ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<'_, [u8]>> {
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/tokio-tar/src/pax.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking webpki v0.22.0
[INFO] [stderr]     Checking ct-logs v0.8.0
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]     Checking webpki-roots v0.21.1
[INFO] [stderr]     Checking webpki-roots v0.22.1
[INFO] [stderr]    Compiling git2 v0.13.23
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking rustls-native-certs v0.5.0
[INFO] [stderr]     Checking hyper v0.14.14
[INFO] [stderr]     Checking hyper v1.1.0
[INFO] [stderr]    Compiling built v0.4.3
[INFO] [stderr]    Compiling nydus-utils v0.1.0 (/opt/rustwide/workdir/packages/utils)
[INFO] [stderr]     Checking hyper-util v0.1.2
[INFO] [stderr]     Checking rafs v0.1.0 (/opt/rustwide/workdir/packages/rafs)
[INFO] [stdout] warning: unused import: `statvfs64`
[INFO] [stdout]  --> packages/rafs/src/metadata/abi.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use libc::{blksize_t, dev_t, mode_t, nlink_t, stat64, statvfs64};
[INFO] [stdout]   |                                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/cached.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/direct.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statvfs64`
[INFO] [stdout]  --> packages/rafs/src/metadata/abi.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use libc::{blksize_t, dev_t, mode_t, nlink_t, stat64, statvfs64};
[INFO] [stdout]   |                                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/cached.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/direct.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable`, `threads_count`, `merging_size`, and `bandwidth_rate` are never read
[INFO] [stdout]   --> packages/rafs/src/fs.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FsPrefetchControl {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     enable: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 64 |     #[serde(default = "default_threads_count")]
[INFO] [stdout] 65 |     threads_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     merging_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     bandwidth_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FsPrefetchControl` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const DOT: &str = ".";
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOTDOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const DOTDOT: &str = "..";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `path_from_ino` and `ino_from_path` are never used
[INFO] [stdout]    --> packages/rafs/src/metadata/mod.rs:382:19
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl RafsSuper {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub(crate) fn path_from_ino(&self, ino: Inode) -> Result<PathBuf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub(crate) fn ino_from_path(&self, f: &Path) -> Result<u64> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_ID` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/abi.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const ROOT_ID: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:365:14
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/rafs/src/storage/compress/mod.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<[u8]>, bool)> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<'_, [u8]>, bool)> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axum v0.7.4
[INFO] [stdout] warning: fields `enable`, `threads_count`, `merging_size`, and `bandwidth_rate` are never read
[INFO] [stdout]   --> packages/rafs/src/fs.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FsPrefetchControl {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     enable: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 64 |     #[serde(default = "default_threads_count")]
[INFO] [stdout] 65 |     threads_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     merging_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     bandwidth_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FsPrefetchControl` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const DOT: &str = ".";
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOTDOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const DOTDOT: &str = "..";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `path_from_ino` and `ino_from_path` are never used
[INFO] [stdout]    --> packages/rafs/src/metadata/mod.rs:382:19
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl RafsSuper {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub(crate) fn path_from_ino(&self, ino: Inode) -> Result<PathBuf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub(crate) fn ino_from_path(&self, f: &Path) -> Result<u64> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_ID` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/abi.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const ROOT_ID: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:365:14
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/rafs/src/storage/compress/mod.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<[u8]>, bool)> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<'_, [u8]>, bool)> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nydus-bootstrap v0.1.0 (/opt/rustwide/workdir/packages/bootstrap)
[INFO] [stdout] warning: unused import: `flate2::bufread::GzDecoder`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use flate2::bufread::GzDecoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RafsDigest`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rafs::metadata::digest::{self, RafsDigest};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result as SerdeJSONResult`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Result as SerdeJSONResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `SeekFrom`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{BufReader, BufWriter, Read, SeekFrom};
[INFO] [stdout]    |               ^^^^^^^^^             ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tar::Archive`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tar::Archive;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> packages/bootstrap/src/builder.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use anyhow::{anyhow, bail, Context, Error, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use anyhow::{anyhow, bail, Context, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::path::{Component, Path, PathBuf};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |     stargz::{TocEntry, TocIndex},
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bootstrap::BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::bootstrap::BlobIdsTocIndexes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsStr`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::OsStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU64` and `Ordering`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tree::Tree`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::tree::Tree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::bufread::GzDecoder`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use flate2::bufread::GzDecoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RafsDigest`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rafs::metadata::digest::{self, RafsDigest};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result as SerdeJSONResult`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Result as SerdeJSONResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `SeekFrom`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{BufReader, BufWriter, Read, SeekFrom};
[INFO] [stdout]    |               ^^^^^^^^^             ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tar::Archive`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tar::Archive;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> packages/bootstrap/src/builder.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use anyhow::{anyhow, bail, Context, Error, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use anyhow::{anyhow, bail, Context, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::path::{Component, Path, PathBuf};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |     stargz::{TocEntry, TocIndex},
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bootstrap::BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::bootstrap::BlobIdsTocIndexes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsStr`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::OsStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU64` and `Ordering`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tree::Tree`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::tree::Tree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::MetadataExt`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::os::unix::fs::MetadataExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::MetadataExt`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::os::unix::fs::MetadataExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stargz_dir`
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |     let stargz_dir = Path::new(stargz_dir);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stargz_dir`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stargz_dir`
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |     let stargz_dir = Path::new(stargz_dir);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stargz_dir`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `whiteout_spec`
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:264:48
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn build(&mut self, explicit_uidgid: bool, whiteout_spec: &WhiteoutSpec) -> Result<Tree> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_whiteout_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let start = SystemTime::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VecBlobIdTocIndex` is never used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type VecBlobIdTocIndex = Vec<(String, TocIndex)>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aligned_chunk` is never read
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Builder {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     aligned_chunk: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct TreeTrace {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 45 |     name: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeTrace` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/lib.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     dump_result_output(blob_ids);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let _ = dump_result_output(blob_ids);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blobId` should have a snake case name
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub blobId: String,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `blob_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blobIds` should have a snake case name
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub blobIds: BlobIds,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `blob_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         self.build_tree(toc_indexes, blob_ids);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let _ = self.build_tree(toc_indexes, blob_ids);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.super_block.store(&mut self.writer);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let _ = self.super_block.store(&mut self.writer);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         inode_table.store(&mut self.writer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = inode_table.store(&mut self.writer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         self.blob_table.store(&mut self.writer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = self.blob_table.store(&mut self.writer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             node.dump_bootstrap(&mut self.writer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 108 |             let _ = node.dump_bootstrap(&mut self.writer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | /     BootstrapBuilder::new()
[INFO] [stdout] 411 | |         .bootstrap_path(PathBuf::from(bootstrap_path))
[INFO] [stdout] 412 | |         .build_bootstrap()
[INFO] [stdout] 413 | |         .build(toc_indexes, blob_ids) // build
[INFO] [stdout] 414 | |         .dump(); // dump file
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let _ = BootstrapBuilder::new()
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/builder.rs:603:9
[INFO] [stdout]     |
[INFO] [stdout] 603 |         self.dump_to_file(None);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let _ = self.dump_to_file(None);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `whiteout_spec`
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:264:48
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn build(&mut self, explicit_uidgid: bool, whiteout_spec: &WhiteoutSpec) -> Result<Tree> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_whiteout_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let start = SystemTime::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VecBlobIdTocIndex` is never used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type VecBlobIdTocIndex = Vec<(String, TocIndex)>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aligned_chunk` is never read
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Builder {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     aligned_chunk: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct TreeTrace {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 45 |     name: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeTrace` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/lib.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     dump_result_output(blob_ids);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let _ = dump_result_output(blob_ids);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blobId` should have a snake case name
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub blobId: String,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `blob_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blobIds` should have a snake case name
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub blobIds: BlobIds,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `blob_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         self.build_tree(toc_indexes, blob_ids);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let _ = self.build_tree(toc_indexes, blob_ids);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.super_block.store(&mut self.writer);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let _ = self.super_block.store(&mut self.writer);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         inode_table.store(&mut self.writer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = inode_table.store(&mut self.writer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         self.blob_table.store(&mut self.writer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = self.blob_table.store(&mut self.writer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             node.dump_bootstrap(&mut self.writer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 108 |             let _ = node.dump_bootstrap(&mut self.writer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | /     BootstrapBuilder::new()
[INFO] [stdout] 411 | |         .bootstrap_path(PathBuf::from(bootstrap_path))
[INFO] [stdout] 412 | |         .build_bootstrap()
[INFO] [stdout] 413 | |         .build(toc_indexes, blob_ids) // build
[INFO] [stdout] 414 | |         .dump(); // dump file
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let _ = BootstrapBuilder::new()
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/builder.rs:603:9
[INFO] [stdout]     |
[INFO] [stdout] 603 |         self.dump_to_file(None);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let _ = self.dump_to_file(None);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nydus-rs v0.1.0 (/opt/rustwide/workdir/packages/bootstrap-bin)
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.22.1
[INFO] [stderr]     Checking hyperlocal v0.8.0
[INFO] [stderr]     Checking reqwest v0.11.6
[INFO] [stderr]     Checking downloader v0.1.0 (/opt/rustwide/workdir/packages/downloader)
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> packages/downloader/src/channel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]  --> packages/downloader/src/channel.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::task::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Debug`
[INFO] [stdout]  --> packages/downloader/src/download.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pool`
[INFO] [stdout]  --> packages/downloader/src/download.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pool::{Pool, PoolError, PoolExecutorError};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/downloader/src/download.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{HTTPPool, NpmStore, TocIndex};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> packages/downloader/src/http/pool.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::error::{Error, Result as ProjectResult};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]  --> packages/downloader/src/http/pool.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::future::join_all;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::future::try_join_all`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures_util::future::try_join_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use std::sync::Arc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> packages/downloader/src/http/reqwester.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::error::{Error, Result as TnpmResult};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/http/reqwester.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pool::Command`
[INFO] [stdout]  --> packages/downloader/src/meta/package.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::pool::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Display`
[INFO] [stdout]  --> packages/downloader/src/pool.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> packages/downloader/src/pool.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::error::SendError`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc::error::SendError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::oneshot::{self, Receiver, Sender};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiWriter`
[INFO] [stdout]  --> packages/downloader/src/store/bucket.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::util::{CountWriter, MultiWriter};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive` and `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio_tar::{Archive, Entry};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, BufReader, BufWriter};
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Components` and `PathBuf`
[INFO] [stdout]  --> packages/downloader/src/store/listener.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Components, Path, PathBuf};
[INFO] [stdout]   |                 ^^^^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> packages/downloader/src/store/stargz.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::channel::subscriber`
[INFO] [stdout]  --> packages/downloader/src/store/store.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::channel::subscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::future::join_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::store::TocEntry`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::store::TocEntry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiWriter`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::{AsyncReadVec, MultiWriter};
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio::io::{AsyncRead, AsyncReadExt, AsyncSeekExt, AsyncWrite};
[INFO] [stdout]    |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender as TokioSender`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::sync::mpsc::Sender as TokioSender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive` and `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tokio_tar::{Archive, Entry};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlackHole`
[INFO] [stdout]  --> packages/downloader/src/store/tar.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::{BlackHole, CountWriter, HashWriter, MultiWriter};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::borrow::{Borrow, Cow};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::{self, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt, Result as IoResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio_tar::{Archive, Entry, EntryType, Header};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Unexpected::Bytes`
[INFO] [stdout]    --> packages/downloader/src/store/tar.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     use serde::de::Unexpected::Bytes;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserializer`
[INFO] [stdout]  --> packages/downloader/src/toc_index_store.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Deserializer, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stdout]  --> packages/downloader/src/toc_index_store.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem::ManuallyDrop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |     use std::path::{Path, PathBuf};
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bytes`
[INFO] [stdout]  --> packages/downloader/src/util.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytes::{BufMut, Bytes, BytesMut};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]  --> packages/downloader/src/util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::join_all;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> packages/downloader/src/util.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, Error as IoError};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> packages/downloader/src/util.rs:11:40
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, ReadBuf};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlackHole`
[INFO] [stdout]    --> packages/downloader/src/util.rs:530:37
[INFO] [stdout]     |
[INFO] [stdout] 530 |     use crate::util::{BadBufWriter, BlackHole, BufWriter, MultiWriter};
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DownloadResponse`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::download::{DownloadResponse, Downloader};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlobIdTocIndex`, `BlobIdsTocIndexes`, and `TocIndex as NewTocIndex`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 | use nydus_bootstrap::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes, TocIndex as NewTocIndex};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nydus_bootstrap::stargz::TocEntry`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use nydus_bootstrap::stargz::TocEntry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::MultiWriter`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::util::MultiWriter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> packages/downloader/src/channel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]  --> packages/downloader/src/channel.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::task::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Debug`
[INFO] [stdout]  --> packages/downloader/src/download.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pool`
[INFO] [stdout]  --> packages/downloader/src/download.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pool::{Pool, PoolError, PoolExecutorError};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/downloader/src/download.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{HTTPPool, NpmStore, TocIndex};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> packages/downloader/src/http/pool.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::error::{Error, Result as ProjectResult};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]  --> packages/downloader/src/http/pool.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::future::join_all;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::future::try_join_all`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures_util::future::try_join_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> packages/downloader/src/http/reqwester.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::error::{Error, Result as TnpmResult};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/http/reqwester.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> packages/downloader/src/meta/install_scripts.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pool::Command`
[INFO] [stdout]  --> packages/downloader/src/meta/package.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::pool::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Display`
[INFO] [stdout]  --> packages/downloader/src/pool.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> packages/downloader/src/pool.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::error::SendError`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc::error::SendError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::oneshot::{self, Receiver, Sender};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiWriter`
[INFO] [stdout]  --> packages/downloader/src/store/bucket.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::util::{CountWriter, MultiWriter};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive` and `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio_tar::{Archive, Entry};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, BufReader, BufWriter};
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Components` and `PathBuf`
[INFO] [stdout]  --> packages/downloader/src/store/listener.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Components, Path, PathBuf};
[INFO] [stdout]   |                 ^^^^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> packages/downloader/src/store/stargz.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::channel::subscriber`
[INFO] [stdout]  --> packages/downloader/src/store/store.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::channel::subscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::future::join_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::store::TocEntry`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::store::TocEntry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiWriter`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::{AsyncReadVec, MultiWriter};
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio::io::{AsyncRead, AsyncReadExt, AsyncSeekExt, AsyncWrite};
[INFO] [stdout]    |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender as TokioSender`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::sync::mpsc::Sender as TokioSender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive` and `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tokio_tar::{Archive, Entry};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlackHole`
[INFO] [stdout]  --> packages/downloader/src/store/tar.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::{BlackHole, CountWriter, HashWriter, MultiWriter};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::borrow::{Borrow, Cow};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::{self, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt, Result as IoResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio_tar::{Archive, Entry, EntryType, Header};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserializer`
[INFO] [stdout]  --> packages/downloader/src/toc_index_store.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Deserializer, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stdout]  --> packages/downloader/src/toc_index_store.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem::ManuallyDrop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bytes`
[INFO] [stdout]  --> packages/downloader/src/util.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytes::{BufMut, Bytes, BytesMut};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]  --> packages/downloader/src/util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::join_all;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> packages/downloader/src/util.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, Error as IoError};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> packages/downloader/src/util.rs:11:40
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, ReadBuf};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DownloadResponse`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::download::{DownloadResponse, Downloader};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlobIdTocIndex`, `BlobIdsTocIndexes`, and `TocIndex as NewTocIndex`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 | use nydus_bootstrap::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes, TocIndex as NewTocIndex};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nydus_bootstrap::stargz::TocEntry`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use nydus_bootstrap::stargz::TocEntry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::MultiWriter`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::util::MultiWriter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/pool.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn execute(mut self) -> Result<T::OkType, T::ErrorType> {
[INFO] [stdout]    |                          ----^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/download.rs:112:36
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (store_request_sender, mut store_request_receiver) =
[INFO] [stdout]     |                                    ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/pool.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn execute(mut self) -> Result<T::OkType, T::ErrorType> {
[INFO] [stdout]    |                          ----^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/lib.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut downloader = Downloader::new(store, http_pool, toc_index_store.clone(), retry_time);
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/download.rs:112:36
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (store_request_sender, mut store_request_receiver) =
[INFO] [stdout]     |                                    ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Buf`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use bytes::Buf;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/download.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 |             PoolError::JoinError(e) => Error::BatchDownloadError(None),
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/lib.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut downloader = Downloader::new(store, http_pool, toc_index_store.clone(), retry_time);
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket_size`
[INFO] [stdout]    --> packages/downloader/src/download.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let bucket_size = metadata.len();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/download.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let mut content = String::from_utf8(buf).unwrap();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket_size`
[INFO] [stdout]    --> packages/downloader/src/download.rs:362:13
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let bucket_size = metadata.len();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Buf`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use bytes::Buf;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/download.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 |             PoolError::JoinError(e) => Error::BatchDownloadError(None),
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/http/reqwester.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut client_builder: reqwest::ClientBuilder,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/pool.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let mut executors = executors.into_inner();
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/http/reqwester.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut client_builder: reqwest::ClientBuilder,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> packages/downloader/src/store/bucket.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let res = store.add_package(&pkg, tar_file).await;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/pool.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let mut executors = executors.into_inner();
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         mut inner_toc_map_string: String,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         mut inner_toc_index_string: String,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     .map_err(|e| Error::FormatError(String::from("parse toc index file failed")))?;
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:71:27
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 .map_err(|e| Error::FormatError(String::from("parse toc map file failed")))?;
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         mut inner_toc_map_string: String,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         mut inner_toc_index_string: String,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     .map_err(|e| Error::FormatError(String::from("parse toc index file failed")))?;
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:71:27
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 .map_err(|e| Error::FormatError(String::from("parse toc map file failed")))?;
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut inner = self.inner.lock().expect("toc index store lock failed");
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut inner = self.inner.lock().expect("toc index store lock failed");
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut inner = self.inner.lock().expect("toc index store lock failed");
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         mut toc_index: TocIndex<'static>,
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut inner = self.inner.lock().expect("toc index store lock failed");
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         mut toc_index: TocIndex<'static>,
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:225:19
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                   ----^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:225:45
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:229:48
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                                ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:225:19
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                   ----^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:225:45
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:229:48
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                                ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:507:19
[INFO] [stdout]     |
[INFO] [stdout] 507 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                   ----^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:507:45
[INFO] [stdout]     |
[INFO] [stdout] 507 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:511:22
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:511:48
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                                ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 516 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:507:19
[INFO] [stdout]     |
[INFO] [stdout] 507 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                   ----^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:507:45
[INFO] [stdout]     |
[INFO] [stdout] 507 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:511:22
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:511:48
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                                ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 516 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent` is never read
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct HTTPPool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 19 |     max_concurrent: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scripts` is never constructed
[INFO] [stdout]  --> packages/downloader/src/meta/install_scripts.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Scripts {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Package` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Package {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreInstallScript` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PreInstallScript {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PostInstallScript` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PostInstallScript {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Setup` is never used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | trait Setup {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InstallScripts` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct InstallScripts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `merge`, and `update` are never used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl InstallScripts {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 84 |     fn new() -> InstallScripts {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn merge(&mut self, install_scripts: InstallScripts) -> &mut InstallScripts {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn update(&mut self, root: PathBuf, pkg: Package) -> &mut InstallScripts {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> packages/downloader/src/pool.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl<T: Executor + Send + Sync + Unpin> Pool<T> {
[INFO] [stdout]    | ----------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub async fn execute(&self, command: T::Command) -> Result<T::OkType, T::ErrorType> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_download_url` is never used
[INFO] [stdout]  --> packages/downloader/src/test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_download_url() -> Vec<&'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `holder` is never read
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct TocIndexStoreInner<'a> {
[INFO] [stdout]    |        ------------------ field in this struct
[INFO] [stdout] 36 |     holder: Option<Pin<Box<TocIndexStoreInnerHolder>>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TocIndexStoreInner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> packages/downloader/src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let result = download(
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent` is never read
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct HTTPPool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 19 |     max_concurrent: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scripts` is never constructed
[INFO] [stdout]  --> packages/downloader/src/meta/install_scripts.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Scripts {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Package` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Package {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreInstallScript` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PreInstallScript {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PostInstallScript` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PostInstallScript {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Setup` is never used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | trait Setup {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InstallScripts` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct InstallScripts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `merge`, and `update` are never used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl InstallScripts {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 84 |     fn new() -> InstallScripts {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn merge(&mut self, install_scripts: InstallScripts) -> &mut InstallScripts {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn update(&mut self, root: PathBuf, pkg: Package) -> &mut InstallScripts {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Mock` is never used
[INFO] [stdout]    --> packages/downloader/src/meta/install_scripts.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 | trait Mock {
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_install_scripts` is never used
[INFO] [stdout]    --> packages/downloader/src/meta/install_scripts.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn test_install_scripts() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> packages/downloader/src/pool.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl<T: Executor + Send + Sync + Unpin> Pool<T> {
[INFO] [stdout]    | ----------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub async fn execute(&self, command: T::Command) -> Result<T::OkType, T::ErrorType> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `holder` is never read
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct TocIndexStoreInner<'a> {
[INFO] [stdout]    |        ------------------ field in this struct
[INFO] [stdout] 36 |     holder: Option<Pin<Box<TocIndexStoreInnerHolder>>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TocIndexStoreInner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/channel.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |             sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let _ = sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         &self.preinstalls.extend(install_scripts.preinstalls);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = &self.preinstalls.extend(install_scripts.preinstalls);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         &self.postinstalls.extend(install_scripts.postinstalls);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = &self.postinstalls.extend(install_scripts.postinstalls);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/downloader/src/pool.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         rx.await;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let _ = rx.await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/downloader/src/pool.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             waiter.send(());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let _ = waiter.send(());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/store/listener.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         self.sender.send(Some(entry)).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let _ = self.sender.send(Some(entry)).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/store/listener.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.sender.send(None).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _ = self.sender.send(None).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/channel.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |             sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let _ = sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         &self.preinstalls.extend(install_scripts.preinstalls);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = &self.preinstalls.extend(install_scripts.preinstalls);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         &self.postinstalls.extend(install_scripts.postinstalls);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = &self.postinstalls.extend(install_scripts.postinstalls);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/downloader/src/pool.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         rx.await;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let _ = rx.await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/downloader/src/pool.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             waiter.send(());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let _ = waiter.send(());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/store/listener.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         self.sender.send(Some(entry)).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let _ = self.sender.send(Some(entry)).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/store/listener.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.sender.send(None).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _ = self.sender.send(None).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::error::Result`
[INFO] [stdout]  --> packages/downloader/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use downloader::error::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]  --> packages/downloader/src/main.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use downloader::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::store::NpmBucketStoreExecuteResult`
[INFO] [stdout]  --> packages/downloader/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use downloader::store::NpmBucketStoreExecuteResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::store::TocIndex`
[INFO] [stdout]  --> packages/downloader/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use downloader::store::TocIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> packages/downloader/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> packages/downloader/src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> packages/downloader/src/main.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> packages/downloader/src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[napi]
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CallContext`, `Callback`, and `NapiRaw`
[INFO] [stdout]  --> packages/binding/src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use napi::{CallContext, Callback, Env, Error, JsFunction, JsObject, NapiRaw, Status};
[INFO] [stdout]   |            ^^^^^^^^^^^  ^^^^^^^^                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::error::Error as TnpmError`
[INFO] [stdout]  --> packages/binding/src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use downloader::error::Error as TnpmError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]  --> packages/binding/src/lib.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use downloader::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/binding/src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     TocIndex, TocPath,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `napi::sys::napi_value`
[INFO] [stdout]   --> packages/binding/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use napi::sys::napi_value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> packages/binding/src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]   --> packages/binding/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::fmt::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[napi(js_name = "Downloader")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[napi]
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | #[napi(js_name = "Fcntl")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:377:1
[INFO] [stdout]     |
[INFO] [stdout] 377 | #[napi]
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::error::Result`
[INFO] [stdout]  --> packages/downloader/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use downloader::error::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]  --> packages/downloader/src/main.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use downloader::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::store::NpmBucketStoreExecuteResult`
[INFO] [stdout]  --> packages/downloader/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use downloader::store::NpmBucketStoreExecuteResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::store::TocIndex`
[INFO] [stdout]  --> packages/downloader/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use downloader::store::TocIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> packages/downloader/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> packages/downloader/src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> packages/downloader/src/main.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> packages/downloader/src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `black_hole_download` is never used
[INFO] [stdout]   --> packages/downloader/src/main.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | async fn black_hole_download() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     tokio::io::copy(&mut response.reader, &mut black_hole).await;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     let _ = tokio::io::copy(&mut response.reader, &mut black_hole).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pool.batch_execute(pkg_requests, sx).await;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = pool.batch_execute(pkg_requests, sx).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 entry.reader.read_to_string(&mut content).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let _ = entry.reader.read_to_string(&mut content).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     downloader.batch_download(pkg_requests).await;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = downloader.batch_download(pkg_requests).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[napi]
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CallContext`, `Callback`, and `NapiRaw`
[INFO] [stdout]  --> packages/binding/src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use napi::{CallContext, Callback, Env, Error, JsFunction, JsObject, NapiRaw, Status};
[INFO] [stdout]   |            ^^^^^^^^^^^  ^^^^^^^^                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `downloader::error::Error as TnpmError`
[INFO] [stdout]  --> packages/binding/src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use downloader::error::Error as TnpmError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]  --> packages/binding/src/lib.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use downloader::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/binding/src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     TocIndex, TocPath,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `napi::sys::napi_value`
[INFO] [stdout]   --> packages/binding/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use napi::sys::napi_value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> packages/binding/src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]   --> packages/binding/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::fmt::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[napi(js_name = "Downloader")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[napi]
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | #[napi(js_name = "Fcntl")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `noop`
[INFO] [stdout]    --> packages/binding/src/lib.rs:377:1
[INFO] [stdout]     |
[INFO] [stdout] 377 | #[napi]
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a attribute macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `napi` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the attribute macro `napi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `black_hole_download` is never used
[INFO] [stdout]   --> packages/downloader/src/main.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | async fn black_hole_download() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     tokio::io::copy(&mut response.reader, &mut black_hole).await;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     let _ = tokio::io::copy(&mut response.reader, &mut black_hole).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pool.batch_execute(pkg_requests, sx).await;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = pool.batch_execute(pkg_requests, sx).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 entry.reader.read_to_string(&mut content).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let _ = entry.reader.read_to_string(&mut content).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/main.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     downloader.batch_download(pkg_requests).await;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = downloader.batch_download(pkg_requests).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/binding/src/lib.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let (sx, mut rx) = tokio::sync::mpsc::channel(1);
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> packages/binding/src/lib.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |         |&mut env, data: ()| env.get_undefined(),
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> packages/binding/src/lib.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 307 |             |&mut env, data| env.get_undefined(),
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     entry.set("pkgName", ctx.value.pkg_name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let _ = entry.set("pkgName", ctx.value.pkg_name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     entry.set("entryName", ctx.value.entry_name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let _ = entry.set("entryName", ctx.value.entry_name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     entry.set("content", ctx.value.content);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let _ = entry.set("content", ctx.value.content);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | /     env.execute_tokio_future(
[INFO] [stdout] 206 | |         async move {
[INFO] [stdout] 207 | |             let entry_callback: ThreadsafeFunction<JsPackageEntry, ErrorStrategy::Fatal> =
[INFO] [stdout] 208 | |                 entry_callback.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | |         |&mut env, data: ()| env.get_undefined(),
[INFO] [stdout] 213 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let _ = env.execute_tokio_future(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/binding/src/lib.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let (sx, mut rx) = tokio::sync::mpsc::channel(1);
[INFO] [stdout]     |              ----^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> packages/binding/src/lib.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |         |&mut env, data: ()| env.get_undefined(),
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> packages/binding/src/lib.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 307 |             |&mut env, data| env.get_undefined(),
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsTocPath` is never constructed
[INFO] [stdout]   --> packages/binding/src/lib.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct JsTocPath {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsDownloadOptions` is never constructed
[INFO] [stdout]   --> packages/binding/src/lib.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct JsDownloadOptions {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsPackageRequest` is never constructed
[INFO] [stdout]   --> packages/binding/src/lib.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct JsPackageRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsPackageEntry` is never constructed
[INFO] [stdout]   --> packages/binding/src/lib.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct JsPackageEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_download_options` is never used
[INFO] [stdout]   --> packages/binding/src/lib.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn parse_download_options(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_package_request` is never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn parse_package_request(request: JsPackageRequest) -> Result<PackageRequest, Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_package_requests` is never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn parse_package_requests(requests: Vec<JsPackageRequest>) -> Result<Vec<PackageRequest>, Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `callback_new_entry` is never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn callback_new_entry(ctx: ThreadSafeCallContext<JsPackageEntry>) -> Result<Vec<JsObject>, Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_new_entry` is never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:169:10
[INFO] [stdout]     |
[INFO] [stdout] 169 | async fn handle_new_entry(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_entry_listener` is never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn create_entry_listener(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `download` is never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn download(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `options`, `inner`, and `toc_index_store` are never read
[INFO] [stdout]    --> packages/binding/src/lib.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | struct JsDownloader {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 245 |     options: DownloadOptions,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 246 |     inner: Option<Downloader>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 247 |     toc_index_store: Arc<TocIndexStore>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init`, `download`, `batch_downloads`, `dump`, and `shutdown` are never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 251 | impl JsDownloader {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 252 |     #[napi(constructor)]
[INFO] [stdout] 253 |     pub fn new(env: Env, options: JsDownloadOptions) -> Result<Self, Error> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn init(&'static mut self, env: Env) -> Result<JsObject, Error> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub async fn download(&self, request: JsPackageRequest) -> Result<(), Error> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub async fn batch_downloads(&self, js_requests: Vec<JsPackageRequest>) -> Result<(), Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn dump(&self) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub async fn shutdown(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> packages/binding/src/lib.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 373 | struct JsFcntl {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] 374 |     inner: Fcntl,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `lock`, and `unlock` are never used
[INFO] [stdout]    --> packages/binding/src/lib.rs:380:12
[INFO] [stdout]     |
[INFO] [stdout] 378 | impl JsFcntl {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 379 |     #[napi(constructor)]
[INFO] [stdout] 380 |     pub fn new(filepath: String) -> Result<Self, Error> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn lock(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn unlock(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     entry.set("pkgName", ctx.value.pkg_name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let _ = entry.set("pkgName", ctx.value.pkg_name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     entry.set("entryName", ctx.value.entry_name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let _ = entry.set("entryName", ctx.value.entry_name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     entry.set("content", ctx.value.content);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let _ = entry.set("content", ctx.value.content);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/binding/src/lib.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | /     env.execute_tokio_future(
[INFO] [stdout] 206 | |         async move {
[INFO] [stdout] 207 | |             let entry_callback: ThreadsafeFunction<JsPackageEntry, ErrorStrategy::Fatal> =
[INFO] [stdout] 208 | |                 entry_callback.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | |         |&mut env, data: ()| env.get_undefined(),
[INFO] [stdout] 213 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let _ = env.execute_tokio_future(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rapid_deamon v0.1.0 (/opt/rustwide/workdir/packages/deamon)
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> packages/deamon/src/config.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_ps_snapshot`
[INFO] [stdout]   --> packages/deamon/src/config.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::{get_ps_snapshot, start_command};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> packages/deamon/src/config.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_ps_snapshot`
[INFO] [stdout]   --> packages/deamon/src/config.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::{get_ps_snapshot, start_command};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/deamon/src/config.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let mut pids = vec![];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/deamon/src/config.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let mut pids = vec![];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_projects` is never used
[INFO] [stdout]   --> packages/deamon/src/pid.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub async fn kill_projects(process_map: Arc<Mutex<BTreeMap<String, ProjectInfo>>>) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_project` is never used
[INFO] [stdout]    --> packages/deamon/src/pid.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub async fn init_project(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ps_snapshot` is never used
[INFO] [stdout]  --> packages/deamon/src/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn get_ps_snapshot() -> Result<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_and_create_file` is never used
[INFO] [stdout]   --> packages/deamon/src/utils.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn check_and_create_file(file_path: &str) -> io::Result<File> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/deamon/src/server.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             sender.lock().await.send(0).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let _ = sender.lock().await.send(0).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> packages/deamon/src/config.rs:414:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | impl ProjectConfig {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 414 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_projects` is never used
[INFO] [stdout]   --> packages/deamon/src/pid.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub async fn kill_projects(process_map: Arc<Mutex<BTreeMap<String, ProjectInfo>>>) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_project` is never used
[INFO] [stdout]    --> packages/deamon/src/pid.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub async fn init_project(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ps_snapshot` is never used
[INFO] [stdout]  --> packages/deamon/src/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn get_ps_snapshot() -> Result<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_and_create_file` is never used
[INFO] [stdout]   --> packages/deamon/src/utils.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn check_and_create_file(file_path: &str) -> io::Result<File> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/deamon/src/server.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             sender.lock().await.send(0).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let _ = sender.lock().await.send(0).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cargo-lock v4.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating packages/binding/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating packages/downloader/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/bootstrap/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/utils/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/rafs/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/tokio-tar/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/fcntl/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating packages/bootstrap-bin/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating packages/deamon/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   chrono v0.4.19 removed features: serde
[INFO] [stderr]   chrono v0.4.19 (as host dependency) removed features: serde
[INFO] [stderr]   libc v0.2.152 (as host dependency) removed features: extra_traits
[INFO] [stderr]   log v0.4.20 (as host dependency) removed features: kv_unstable, serde, std, value-bag
[INFO] [stderr]   num-traits v0.2.14 (as host dependency) removed features: default, std
[INFO] [stderr]   semver v0.9.0 removed features: serde
[INFO] [stderr]   serde v1.0.195 (as host dependency) removed features: derive, rc
[INFO] [stderr]   tokio v1.29.1 removed features: windows-sys
[INFO] [stderr] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let mut this = self.get_mut();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:356:19
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                  ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:392:24
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:342:23
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:930:23
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> packages/tokio-tar/src/header.rs:1569:22
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<[u8]>> {
[INFO] [stdout]      |                      ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<'_, [u8]>> {
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/tokio-tar/src/pax.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statvfs64`
[INFO] [stdout]  --> packages/rafs/src/metadata/abi.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use libc::{blksize_t, dev_t, mode_t, nlink_t, stat64, statvfs64};
[INFO] [stdout]   |                                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/cached.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/direct.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable`, `threads_count`, `merging_size`, and `bandwidth_rate` are never read
[INFO] [stdout]   --> packages/rafs/src/fs.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FsPrefetchControl {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     enable: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 64 |     #[serde(default = "default_threads_count")]
[INFO] [stdout] 65 |     threads_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     merging_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     bandwidth_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FsPrefetchControl` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const DOT: &str = ".";
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOTDOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const DOTDOT: &str = "..";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `path_from_ino` and `ino_from_path` are never used
[INFO] [stdout]    --> packages/rafs/src/metadata/mod.rs:382:19
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl RafsSuper {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub(crate) fn path_from_ino(&self, ino: Inode) -> Result<PathBuf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub(crate) fn ino_from_path(&self, f: &Path) -> Result<u64> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_ID` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/abi.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const ROOT_ID: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:365:14
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/rafs/src/storage/compress/mod.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<[u8]>, bool)> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<'_, [u8]>, bool)> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::bufread::GzDecoder`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use flate2::bufread::GzDecoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RafsDigest`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rafs::metadata::digest::{self, RafsDigest};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result as SerdeJSONResult`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Result as SerdeJSONResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `SeekFrom`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{BufReader, BufWriter, Read, SeekFrom};
[INFO] [stdout]    |               ^^^^^^^^^             ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tar::Archive`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tar::Archive;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> packages/bootstrap/src/builder.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use anyhow::{anyhow, bail, Context, Error, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use anyhow::{anyhow, bail, Context, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::path::{Component, Path, PathBuf};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |     stargz::{TocEntry, TocIndex},
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bootstrap::BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::bootstrap::BlobIdsTocIndexes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsStr`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::OsStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU64` and `Ordering`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tree::Tree`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::tree::Tree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::fs::MetadataExt`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::os::unix::fs::MetadataExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stargz_dir`
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |     let stargz_dir = Path::new(stargz_dir);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stargz_dir`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `whiteout_spec`
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:264:48
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn build(&mut self, explicit_uidgid: bool, whiteout_spec: &WhiteoutSpec) -> Result<Tree> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_whiteout_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let start = SystemTime::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VecBlobIdTocIndex` is never used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type VecBlobIdTocIndex = Vec<(String, TocIndex)>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aligned_chunk` is never read
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Builder {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     aligned_chunk: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct TreeTrace {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 45 |     name: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeTrace` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/lib.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     dump_result_output(blob_ids);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let _ = dump_result_output(blob_ids);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blobId` should have a snake case name
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub blobId: String,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `blob_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blobIds` should have a snake case name
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub blobIds: BlobIds,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `blob_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         self.build_tree(toc_indexes, blob_ids);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let _ = self.build_tree(toc_indexes, blob_ids);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.super_block.store(&mut self.writer);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let _ = self.super_block.store(&mut self.writer);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         inode_table.store(&mut self.writer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = inode_table.store(&mut self.writer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         self.blob_table.store(&mut self.writer);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = self.blob_table.store(&mut self.writer);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             node.dump_bootstrap(&mut self.writer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 108 |             let _ = node.dump_bootstrap(&mut self.writer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/bootstrap.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | /     BootstrapBuilder::new()
[INFO] [stdout] 411 | |         .bootstrap_path(PathBuf::from(bootstrap_path))
[INFO] [stdout] 412 | |         .build_bootstrap()
[INFO] [stdout] 413 | |         .build(toc_indexes, blob_ids) // build
[INFO] [stdout] 414 | |         .dump(); // dump file
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let _ = BootstrapBuilder::new()
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/bootstrap/src/builder.rs:603:9
[INFO] [stdout]     |
[INFO] [stdout] 603 |         self.dump_to_file(None);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let _ = self.dump_to_file(None);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> packages/downloader/src/channel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]  --> packages/downloader/src/channel.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::task::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Debug`
[INFO] [stdout]  --> packages/downloader/src/download.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pool`
[INFO] [stdout]  --> packages/downloader/src/download.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pool::{Pool, PoolError, PoolExecutorError};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/downloader/src/download.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{HTTPPool, NpmStore, TocIndex};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> packages/downloader/src/http/pool.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::error::{Error, Result as ProjectResult};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]  --> packages/downloader/src/http/pool.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::future::join_all;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::future::try_join_all`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures_util::future::try_join_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> packages/downloader/src/http/reqwester.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::error::{Error, Result as TnpmResult};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/http/reqwester.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> packages/downloader/src/meta/install_scripts.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pool::Command`
[INFO] [stdout]  --> packages/downloader/src/meta/package.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::pool::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Display`
[INFO] [stdout]  --> packages/downloader/src/pool.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> packages/downloader/src/pool.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::error::SendError`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc::error::SendError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> packages/downloader/src/pool.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::oneshot::{self, Receiver, Sender};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiWriter`
[INFO] [stdout]  --> packages/downloader/src/store/bucket.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::util::{CountWriter, MultiWriter};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive` and `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio_tar::{Archive, Entry};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, BufReader, BufWriter};
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/store/bucket.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Components` and `PathBuf`
[INFO] [stdout]  --> packages/downloader/src/store/listener.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Components, Path, PathBuf};
[INFO] [stdout]   |                 ^^^^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> packages/downloader/src/store/stargz.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::channel::subscriber`
[INFO] [stdout]  --> packages/downloader/src/store/store.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::channel::subscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::future::join_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::store::TocEntry`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::store::TocEntry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiWriter`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::{AsyncReadVec, MultiWriter};
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio::io::{AsyncRead, AsyncReadExt, AsyncSeekExt, AsyncWrite};
[INFO] [stdout]    |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender as TokioSender`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::sync::mpsc::Sender as TokioSender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive` and `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tokio_tar::{Archive, Entry};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlackHole`
[INFO] [stdout]  --> packages/downloader/src/store/tar.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::{BlackHole, CountWriter, HashWriter, MultiWriter};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::borrow::{Borrow, Cow};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::{self, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt, Result as IoResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]   --> packages/downloader/src/store/tar.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio_tar::{Archive, Entry, EntryType, Header};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserializer`
[INFO] [stdout]  --> packages/downloader/src/toc_index_store.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Deserializer, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stdout]  --> packages/downloader/src/toc_index_store.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem::ManuallyDrop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bytes`
[INFO] [stdout]  --> packages/downloader/src/util.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytes::{BufMut, Bytes, BytesMut};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::join_all`
[INFO] [stdout]  --> packages/downloader/src/util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::join_all;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> packages/downloader/src/util.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, Error as IoError};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> packages/downloader/src/util.rs:11:40
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, ReadBuf};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DownloadResponse`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::download::{DownloadResponse, Downloader};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HTTPReqwester`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::http::{HTTPPool, HTTPReqwester};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlobIdTocIndex`, `BlobIdsTocIndexes`, and `TocIndex as NewTocIndex`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 | use nydus_bootstrap::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes, TocIndex as NewTocIndex};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nydus_bootstrap::stargz::TocEntry`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use nydus_bootstrap::stargz::TocEntry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::MultiWriter`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::util::MultiWriter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Sender`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::sync::mpsc::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> packages/downloader/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/pool.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn execute(mut self) -> Result<T::OkType, T::ErrorType> {
[INFO] [stdout]    |                          ----^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/download.rs:112:36
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (store_request_sender, mut store_request_receiver) =
[INFO] [stdout]     |                                    ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/lib.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut downloader = Downloader::new(store, http_pool, toc_index_store.clone(), retry_time);
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Buf`
[INFO] [stdout]   --> packages/downloader/src/store/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use bytes::Buf;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/download.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 |             PoolError::JoinError(e) => Error::BatchDownloadError(None),
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/http/reqwester.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut client_builder: reqwest::ClientBuilder,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/pool.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let mut executors = executors.into_inner();
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         mut inner_toc_map_string: String,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         mut inner_toc_index_string: String,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     .map_err(|e| Error::FormatError(String::from("parse toc index file failed")))?;
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:71:27
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 .map_err(|e| Error::FormatError(String::from("parse toc map file failed")))?;
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut inner = self.inner.lock().expect("toc index store lock failed");
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut inner = self.inner.lock().expect("toc index store lock failed");
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/toc_index_store.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         mut toc_index: TocIndex<'static>,
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:225:19
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                   ----^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:225:45
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:229:48
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                                ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:507:19
[INFO] [stdout]     |
[INFO] [stdout] 507 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                   ----^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:507:45
[INFO] [stdout]     |
[INFO] [stdout] 507 |     fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:511:22
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:511:48
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<IoResult<()>> {
[INFO] [stdout]     |                                                ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/downloader/src/util.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 516 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> packages/downloader/src/util.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |         cx: &mut Context<'_>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bufs`
[INFO] [stdout]    --> packages/downloader/src/util.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         bufs: &[IoSlice<'_>],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_bufs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent` is never read
[INFO] [stdout]   --> packages/downloader/src/http/pool.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct HTTPPool {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 19 |     max_concurrent: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scripts` is never constructed
[INFO] [stdout]  --> packages/downloader/src/meta/install_scripts.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Scripts {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Package` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Package {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreInstallScript` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PreInstallScript {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PostInstallScript` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PostInstallScript {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Setup` is never used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | trait Setup {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InstallScripts` is never constructed
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct InstallScripts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `merge`, and `update` are never used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl InstallScripts {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 84 |     fn new() -> InstallScripts {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn merge(&mut self, install_scripts: InstallScripts) -> &mut InstallScripts {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn update(&mut self, root: PathBuf, pkg: Package) -> &mut InstallScripts {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> packages/downloader/src/pool.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl<T: Executor + Send + Sync + Unpin> Pool<T> {
[INFO] [stdout]    | ----------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub async fn execute(&self, command: T::Command) -> Result<T::OkType, T::ErrorType> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_download_url` is never used
[INFO] [stdout]  --> packages/downloader/src/test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_download_url() -> Vec<&'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `holder` is never read
[INFO] [stdout]   --> packages/downloader/src/toc_index_store.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct TocIndexStoreInner<'a> {
[INFO] [stdout]    |        ------------------ field in this struct
[INFO] [stdout] 36 |     holder: Option<Pin<Box<TocIndexStoreInnerHolder>>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TocIndexStoreInner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/channel.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |             sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let _ = sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         &self.preinstalls.extend(install_scripts.preinstalls);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = &self.preinstalls.extend(install_scripts.preinstalls);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> packages/downloader/src/meta/install_scripts.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         &self.postinstalls.extend(install_scripts.postinstalls);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = &self.postinstalls.extend(install_scripts.postinstalls);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/downloader/src/pool.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         rx.await;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let _ = rx.await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> packages/downloader/src/pool.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             waiter.send(());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let _ = waiter.send(());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/store/listener.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         self.sender.send(Some(entry)).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let _ = self.sender.send(Some(entry)).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> packages/downloader/src/store/listener.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.sender.send(None).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _ = self.sender.send(None).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lock_contended_error`
[INFO] [stdout]  --> packages/fcntl/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fs2::{lock_contended_error, FileExt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Ok(msg) => Ok(()),
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rafs v0.1.0 (/opt/rustwide/workdir/packages/rafs)
[INFO] [stderr]     Checking nydus-bootstrap v0.1.0 (/opt/rustwide/workdir/packages/bootstrap)
[INFO] [stderr]     Checking downloader v0.1.0 (/opt/rustwide/workdir/packages/downloader)
[INFO] [stderr]     Checking fcntl v0.1.0 (/opt/rustwide/workdir/packages/fcntl)
[INFO] [stderr]     Checking tokio-tar v0.3.0 (/opt/rustwide/workdir/packages/tokio-tar)
[INFO] [stderr]     Checking nydus-rs v0.1.0 (/opt/rustwide/workdir/packages/bootstrap-bin)
[INFO] [stderr]     Checking rapid_deamon v0.1.0 (/opt/rustwide/workdir/packages/deamon)
[INFO] [stderr]     Checking binding v0.1.0 (/opt/rustwide/workdir/packages/binding)
[INFO] [stderr]    Migrating packages/bootstrap/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed packages/bootstrap/src/trace.rs (11 fixes)
[INFO] [stderr]    Migrating packages/rafs/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:207:45
[INFO] [stdout]     |
[INFO] [stdout] 207 |             if let Some(TraceEvent::Counter(ref e)) =
[INFO] [stdout]     |                                             ^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/node.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 event_tracer!("blob compressed size", +compressed_size);
[INFO] [stdout]     |                 ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 207 |             if let Some(&TraceEvent::Counter(ref e)) =
[INFO] [stdout]     |                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:218:49
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if let Some(TraceEvent::Counter(ref e)) = guard.get($event) {
[INFO] [stdout]     |                                                 ^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/node.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 event_tracer!("blob compressed size", +compressed_size);
[INFO] [stdout]     |                 ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if let Some(&TraceEvent::Counter(ref e)) = guard.get($event) {
[INFO] [stdout]     |                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         root_tracer!()
[INFO] [stdout] 191 | |             .tracer(TraceClass::Event)
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                   event_tracer!().events.read().unwrap().get($event)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 213 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/node.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 | /             file.read_exact(&mut chunk_data)
[INFO] [stdout] 264 | |                 .with_context(|| format!("failed to read node file {:?}", self.path))?;
[INFO] [stdout]     | |                                                                                      -
[INFO] [stdout]     | |                                                                                      |
[INFO] [stdout]     | |______________________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 292 |               let (compressed, is_compressed) = compress::compress(&chunk_data, compressor)
[INFO] [stdout]     |  _______________________________________________-
[INFO] [stdout]     | |_______________________________________________|
[INFO] [stdout] 293 | |                 .with_context(|| format!("failed to compress node file {:?}", self.path))?;
[INFO] [stdout]     | |                                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 322 | |                 event_tracer!("blob compressed size", +compressed_size);
[INFO] [stdout]     | |                 ------------------------------------------------------- in this macro invocation
[INFO] [stdout] 323 | /                 f_blob
[INFO] [stdout] 324 | |                     .write_all(&compressed)
[INFO] [stdout] 325 | |                     .context("failed to write blob")?;
[INFO] [stdout]     | |                                                     -
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     | |_____________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:217:40
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         root_tracer!()
[INFO] [stdout] 191 | |             .tracer(TraceClass::Event)
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |               if let Ok(ref mut guard) = event_tracer!().events.write() {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 224 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/node.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 | /             file.read_exact(&mut chunk_data)
[INFO] [stdout] 264 | |                 .with_context(|| format!("failed to read node file {:?}", self.path))?;
[INFO] [stdout]     | |                                                                                      -
[INFO] [stdout]     | |                                                                                      |
[INFO] [stdout]     | |______________________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 292 |               let (compressed, is_compressed) = compress::compress(&chunk_data, compressor)
[INFO] [stdout]     |  _______________________________________________-
[INFO] [stdout]     | |_______________________________________________|
[INFO] [stdout] 293 | |                 .with_context(|| format!("failed to compress node file {:?}", self.path))?;
[INFO] [stdout]     | |                                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 322 | |                 event_tracer!("blob compressed size", +compressed_size);
[INFO] [stdout]     | |                 ------------------------------------------------------- in this macro invocation
[INFO] [stdout] 323 | /                 f_blob
[INFO] [stdout] 324 | |                     .write_all(&compressed)
[INFO] [stdout] 325 | |                     .context("failed to write blob")?;
[INFO] [stdout]     | |                                                     -
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     | |_____________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.45/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         root_tracer!()
[INFO] [stdout] 191 | |             .tracer(TraceClass::Event)
[INFO] [stdout]     | |______________________________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 208 |                   event_tracer!().events.read().unwrap().get($event)
[INFO] [stdout]     |                   -------------------------------------- a temporary with access to the borrow is created here ...
[INFO] [stdout] ...
[INFO] [stdout] 213 |           }
[INFO] [stdout]     |           - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::RwLockReadGuard`
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/node.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 322 |                   event_tracer!("blob compressed size", +compressed_size);
[INFO] [stdout]     |                   ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding semicolon after the expression so its temporaries are dropped sooner, before the local variables declared by the block are dropped
[INFO] [stdout]    --> packages/bootstrap/src/node.rs:322:72
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 event_tracer!("blob compressed size", +compressed_size);;
[INFO] [stdout]     |                                                                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         root_tracer!()
[INFO] [stdout] 191 | |             .tracer(TraceClass::Event)
[INFO] [stdout]     | |______________________________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 217 |               if let Ok(ref mut guard) = event_tracer!().events.write() {
[INFO] [stdout]     |                                          ------------------------------ a temporary with access to the borrow is created here ...
[INFO] [stdout] ...
[INFO] [stdout] 224 |           }
[INFO] [stdout]     |           - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::result::Result<std::sync::RwLockWriteGuard<'_, HashMap<std::string::String, trace::TraceEvent>>, PoisonError<std::sync::RwLockWriteGuard<'_, HashMap<std::string::String, trace::TraceEvent>>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/node.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 322 |                   event_tracer!("blob compressed size", +compressed_size);
[INFO] [stdout]     |                   ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding semicolon after the expression so its temporaries are dropped sooner, before the local variables declared by the block are dropped
[INFO] [stdout]    --> packages/bootstrap/src/node.rs:322:72
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 event_tracer!("blob compressed size", +compressed_size);;
[INFO] [stdout]     |                                                                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:207:45
[INFO] [stdout]     |
[INFO] [stdout] 207 |             if let Some(TraceEvent::Counter(ref e)) =
[INFO] [stdout]     |                                             ^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/tree.rs:570:17
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 event_tracer!("whiteout files", +1);
[INFO] [stdout]     |                 ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 207 |             if let Some(&TraceEvent::Counter(ref e)) =
[INFO] [stdout]     |                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:218:49
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if let Some(TraceEvent::Counter(ref e)) = guard.get($event) {
[INFO] [stdout]     |                                                 ^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/tree.rs:570:17
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 event_tracer!("whiteout files", +1);
[INFO] [stdout]     |                 ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if let Some(&TraceEvent::Counter(ref e)) = guard.get($event) {
[INFO] [stdout]     |                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         root_tracer!()
[INFO] [stdout] 191 | |             .tracer(TraceClass::Event)
[INFO] [stdout]     | |______________________________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 208 |                   event_tracer!().events.read().unwrap().get($event)
[INFO] [stdout]     |                   -------------------------------------- a temporary with access to the borrow is created here ...
[INFO] [stdout] ...
[INFO] [stdout] 213 |           }
[INFO] [stdout]     |           - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::RwLockReadGuard`
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/tree.rs:570:17
[INFO] [stdout]     |
[INFO] [stdout] 570 |                   event_tracer!("whiteout files", +1);
[INFO] [stdout]     |                   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding semicolon after the expression so its temporaries are dropped sooner, before the local variables declared by the block are dropped
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:570:52
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 event_tracer!("whiteout files", +1);;
[INFO] [stdout]     |                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/bootstrap/src/trace.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         root_tracer!()
[INFO] [stdout] 191 | |             .tracer(TraceClass::Event)
[INFO] [stdout]     | |______________________________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 217 |               if let Ok(ref mut guard) = event_tracer!().events.write() {
[INFO] [stdout]     |                                          ------------------------------ a temporary with access to the borrow is created here ...
[INFO] [stdout] ...
[INFO] [stdout] 224 |           }
[INFO] [stdout]     |           - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `std::result::Result<std::sync::RwLockWriteGuard<'_, HashMap<std::string::String, trace::TraceEvent>>, PoisonError<std::sync::RwLockWriteGuard<'_, HashMap<std::string::String, trace::TraceEvent>>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: packages/bootstrap/src/tree.rs:570:17
[INFO] [stdout]     |
[INFO] [stdout] 570 |                   event_tracer!("whiteout files", +1);
[INFO] [stdout]     |                   ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `event_tracer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding semicolon after the expression so its temporaries are dropped sooner, before the local variables declared by the block are dropped
[INFO] [stdout]    --> packages/bootstrap/src/tree.rs:570:52
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 event_tracer!("whiteout files", +1);;
[INFO] [stdout]     |                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/rafs/src/metadata/mod.rs:440:19
[INFO] [stdout]     |
[INFO] [stdout] 415 |         let mut parent = self.get_inode(ROOT_ID, self.digest_validate)?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `parent` calls a custom destructor
[INFO] [stdout]     |             `parent` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |             match parent.get_child_by_name(p.unwrap()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 447 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `parent` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating packages/tokio-tar/examples/list.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating packages/downloader/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/examples/list.rs:16:32
[INFO] [stdout]     |
[INFO] [stdout]  16 |         while let Some(file) = entries.next().await {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |              |
[INFO] [stdout]     |                                |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  17 |             let f = file.unwrap();
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `f` calls a custom destructor
[INFO] [stdout]     |                 `f` will be dropped later as of Edition 2024
[INFO] [stdout]  18 |             println!("{}", f.path().unwrap().display());
[INFO] [stdout]  19 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: `packages/fcntl/src/lib.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] 
[INFO] [stderr] If you are trying to migrate from the previous edition (2021), the
[INFO] [stderr] process requires following these steps:
[INFO] [stderr] 
[INFO] [stderr] 1. Start with `edition = "2021"` in `Cargo.toml`
[INFO] [stderr] 2. Run `cargo fix --edition`
[INFO] [stderr] 3. Modify `Cargo.toml` to set `edition = "2024"`
[INFO] [stderr] 4. Run `cargo build` or `cargo test` to verify the fixes worked
[INFO] [stderr] 
[INFO] [stderr] More details may be found at
[INFO] [stderr] https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html
[INFO] [stderr] 
[INFO] [stderr]        Fixed packages/downloader/src/pool.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/download.rs:85:19
[INFO] [stdout]     |
[INFO] [stdout]  85 |             match self.do_batch_download(requests).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                |
[INFO] [stdout]     |                   |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |                 Ok(res) => return Ok(res),
[INFO] [stdout]  87 |                 Err(e) => match e {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 104 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/pool.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut waiters = self.waiters.lock().await;
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `waiters` calls a custom destructor
[INFO] [stdout]     |             `waiters` will be dropped later as of Edition 2024
[INFO] [stdout] 223 |         match waiters.pop_front() { Some(waiter) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]     |
[INFO] [stdout] 843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `waiters` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mutex.rs:941:1
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/pool.rs:147:53
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let sender = Arc::new(sender);
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sender` calls a custom destructor
[INFO] [stdout]     |             `sender` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 |         Pool::<T>::join_executor_handlers(handlers).await
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 148 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/download.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout] 152 |               }) = response_receiver.recv().await
[INFO] [stdout]     |                    ------------------------------
[INFO] [stdout]     |                    |                        |
[INFO] [stdout]     |                    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 153 |               {
[INFO] [stdout] 154 |                   if let Err(_) = store_request_sender
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 155 | |                     .send(NpmBucketStoreExecuteCommand {
[INFO] [stdout] 156 | |                         request: pkg_request,
[INFO] [stdout] 157 | |                         reader: Box::new(reader) as Box<dyn AsyncRead + Send + Sync + Unpin>,
[INFO] [stdout]     | |                                 ------------------------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 158 | |                     })
[INFO] [stdout] 159 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/download.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |               }) = response_receiver.recv().await
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |                        |
[INFO] [stdout]     |                    |                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    |                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 153 |               {
[INFO] [stdout] 154 |                   if let Err(_) = store_request_sender
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 155 | |                     .send(NpmBucketStoreExecuteCommand {
[INFO] [stdout] 156 | |                         request: pkg_request,
[INFO] [stdout] 157 | |                         reader: Box::new(reader) as Box<dyn AsyncRead + Send + Sync + Unpin>,
[INFO] [stdout] 158 | |                     })
[INFO] [stdout] 159 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/pool.rs:157:35
[INFO] [stdout]     |
[INFO] [stdout] 157 |         while let Some(command) = receiver.recv().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 158 |             let desc = command.get_desc();
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `desc` calls a custom destructor
[INFO] [stdout]     |                 `desc` will be dropped later as of Edition 2024
[INFO] [stdout] 159 |             let request = self.create_request(command).await;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |                            |
[INFO] [stdout]     |                           |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 173 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]     |
[INFO] [stdout] 843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/pool.rs:175:53
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let sender = Arc::new(sender);
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sender` calls a custom destructor
[INFO] [stdout]     |             `sender` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |         Pool::<T>::join_executor_handlers(handlers).await
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 176 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/store/bucket.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout]  91 |         let mut gz_decoder = GzipDecoder::new(BufReader::new(reader));
[INFO] [stdout]     |             --------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `gz_decoder` calls a custom destructor
[INFO] [stdout]     |             `gz_decoder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `gz_decoder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flate2-1.0.22/src/ffi/c.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl<D: Direction> Drop for Stream<D> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/store/tar.rs:93:32
[INFO] [stdout]     |
[INFO] [stdout]  93 |           while let Some(file) = entries.next().await {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                  |              |
[INFO] [stdout]     |                                  |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                  up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  94 |               // let mut writer = GzipEncoder::new(&mut writer);
[INFO] [stdout]  95 |               let mut f = file?;
[INFO] [stdout]     |                   -----   -----
[INFO] [stdout]     |                   |       |
[INFO] [stdout]     |                   |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `f` calls a custom destructor
[INFO] [stdout]     |                   `f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                       let (mut sx, rx) = tokio::io::duplex(1024 * 4);
[INFO] [stdout]     |                            ------        ---------------------------
[INFO] [stdout]     |                            |             |
[INFO] [stdout]     |                            |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `sx` calls a custom destructor
[INFO] [stdout]     |                            `sx` will be dropped later as of Edition 2024
[INFO] [stdout] 109 |                       let mut multi_writer = MultiWriter::new(&mut writer, &mut sx);
[INFO] [stdout] 110 | /                     entry_listener
[INFO] [stdout] 111 | |                         .send_entry(PackageEntry {
[INFO] [stdout] 112 | |                             pkg_name: String::from(tar_prefix),
[INFO] [stdout] 113 | |                             entry_name: String::from(entry_name.as_ref().to_string_lossy()),
[INFO] [stdout] 114 | |                             reader: Box::new(rx),
[INFO] [stdout] 115 | |                         })
[INFO] [stdout] 116 | |                         .await;
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 117 |                       let len = io::copy(&mut f, &mut multi_writer).await?;
[INFO] [stdout]     |                                 -----------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 |                       io::copy(&mut f, &mut writer).await?
[INFO] [stdout]     |                       -----------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 124 |                   io::copy(&mut f, &mut writer).await?
[INFO] [stdout]     |                   -----------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |               let entry: Result<TocEntry, Error> = (&header).try_into();
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `entry` calls a custom destructor
[INFO] [stdout]     |                   `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 143 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/io/util/mem.rs:144:1
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Drop for DuplexStream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> packages/downloader/src/channel.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |         while let Some(msg) = rx.recv().await {
[INFO] [stdout]    |                               ^^^^^^^^^^-----
[INFO] [stdout]    |                               |         |
[INFO] [stdout]    |                               |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                               |         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                               `__awaitee` calls a custom destructor
[INFO] [stdout]    |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 18 |             let sx_index = msg_count % consumer_count;
[INFO] [stdout] 19 |             sx_list[sx_index].send(msg).await;
[INFO] [stdout]    |             ---------------------------------
[INFO] [stdout]    |             |                           |
[INFO] [stdout]    |             |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |             |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 20 |             msg_count += 1;
[INFO] [stdout] 21 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/download.rs:375:35
[INFO] [stdout]     |
[INFO] [stdout] 375 |             while let Some(msg) = rx.recv().await {
[INFO] [stdout]     |                            ---    ^^^^^^^^^^-----
[INFO] [stdout]     |                            |      |         |
[INFO] [stdout]     |                            |      |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |      |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |      |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `msg` calls a custom destructor
[INFO] [stdout]     |                            `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/http/pool.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |             while let Some(mut response) = rx.recv().await {
[INFO] [stdout]     |                            ------------    ^^^^^^^^^^-----
[INFO] [stdout]     |                            |               |         |
[INFO] [stdout]     |                            |               |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |               |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `response` calls a custom destructor
[INFO] [stdout]     |                            `response` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `response` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `response` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating packages/downloader/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/main.rs:32:48
[INFO] [stdout]     |
[INFO] [stdout]  32 |                 while let Some(mut response) = rx.recv().await {
[INFO] [stdout]     |                                ------------    ^^^^^^^^^^-----
[INFO] [stdout]     |                                |               |         |
[INFO] [stdout]     |                                |               |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |               |         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `response` calls a custom destructor
[INFO] [stdout]     |                                `response` will be dropped later as of Edition 2024
[INFO] [stdout]  33 |                     let mut black_hole = BlackHole {};
[INFO] [stdout]  34 |                     tokio::io::copy(&mut response.reader, &mut black_hole).await;
[INFO] [stdout]     |                     ------------------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `response` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `response` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> packages/downloader/src/main.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |         while let Some(entry) = rx.recv().await {
[INFO] [stdout]    |                        -----    ^^^^^^^^^^-----
[INFO] [stdout]    |                        |        |         |
[INFO] [stdout]    |                        |        |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                        |        |         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |        |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |        `__awaitee` calls a custom destructor
[INFO] [stdout]    |                        |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        `entry` calls a custom destructor
[INFO] [stdout]    |                        `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 55 |             if let Some(mut entry) = entry {
[INFO] [stdout]    |                         ---------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 61 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nydus-utils v0.1.0 (/opt/rustwide/workdir/packages/utils)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/downloader/src/main.rs:32:48
[INFO] [stdout]     |
[INFO] [stdout]  32 |                 while let Some(mut response) = rx.recv().await {
[INFO] [stdout]     |                                ------------    ^^^^^^^^^^-----
[INFO] [stdout]     |                                |               |         |
[INFO] [stdout]     |                                |               |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |               |         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |               |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |               |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `response` calls a custom destructor
[INFO] [stdout]     |                                `response` will be dropped later as of Edition 2024
[INFO] [stdout]  33 |                     let mut black_hole = BlackHole {};
[INFO] [stdout]  34 |                     tokio::io::copy(&mut response.reader, &mut black_hole).await;
[INFO] [stdout]     |                     ------------------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `response` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `response` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> packages/downloader/src/main.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |         while let Some(entry) = rx.recv().await {
[INFO] [stdout]    |                        -----    ^^^^^^^^^^-----
[INFO] [stdout]    |                        |        |         |
[INFO] [stdout]    |                        |        |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                        |        |         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |        |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |        `__awaitee` calls a custom destructor
[INFO] [stdout]    |                        |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        `entry` calls a custom destructor
[INFO] [stdout]    |                        `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 55 |             if let Some(mut entry) = entry {
[INFO] [stdout]    |                         ---------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 61 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rapid-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating packages/tokio-tar/tests/all.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed packages/tokio-tar/tests/all.rs (2 fixes)
[INFO] [stderr]    Migrating packages/bootstrap-bin/src/bin/checker/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/tests/all.rs:80:33
[INFO] [stdout]     |
[INFO] [stdout]  80 |         while let Some(entry) = entries.next().await {
[INFO] [stdout]     |                        -----    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |        |              |
[INFO] [stdout]     |                        |        |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |        |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `entry` calls a custom destructor
[INFO] [stdout]     |                        `entry` will be dropped later as of Edition 2024
[INFO] [stdout]  81 |             let e = t!(entry);
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout]  82 |             names.push(t!(::std::str::from_utf8(&e.path_bytes())).to_string());
[INFO] [stdout]  83 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/tests/all.rs:95:28
[INFO] [stdout]     |
[INFO] [stdout]  95 |     while let Some(file) = entries.next().await {
[INFO] [stdout]     |                    ----    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |       |              |
[INFO] [stdout]     |                    |       |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |       |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `file` calls a custom destructor
[INFO] [stdout]     |                    `file` will be dropped later as of Edition 2024
[INFO] [stdout]  96 |         let file = t!(file);
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 102 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/tests/all.rs:112:28
[INFO] [stdout]     |
[INFO] [stdout] 112 |     while let Some(file) = entries.next().await {
[INFO] [stdout]     |                    ----    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |       |              |
[INFO] [stdout]     |                    |       |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |       |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `file` calls a custom destructor
[INFO] [stdout]     |                    `file` will be dropped later as of Edition 2024
[INFO] [stdout] 113 |         let file = t!(file);
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 119 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/tests/all.rs:460:25
[INFO] [stdout]     |
[INFO] [stdout] 460 |     while let Some(e) = entries.next().await {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |    |              |
[INFO] [stdout]     |                    |    |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `e` calls a custom destructor
[INFO] [stdout]     |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] 461 |         assert!(e.is_ok());
[INFO] [stdout] 462 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/tests/all.rs:492:26
[INFO] [stdout]     |
[INFO] [stdout] 492 |     while let Some(fr) = entries.next().await {
[INFO] [stdout]     |                    --    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |     |              |
[INFO] [stdout]     |                    |     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `fr` calls a custom destructor
[INFO] [stdout]     |                    `fr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `fr` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> packages/tokio-tar/tests/all.rs:1071:29
[INFO] [stdout]      |
[INFO] [stdout] 1071 |     while let Some(entry) = entries.next().await {
[INFO] [stdout]      |                    -----    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                    |        |              |
[INFO] [stdout]      |                    |        |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |        |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `entry` calls a custom destructor
[INFO] [stdout]      |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 1072 |         assert!(entry.is_ok());
[INFO] [stdout] 1073 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]      |
[INFO] [stdout]  925 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]      |
[INFO] [stdout]  925 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]      |
[INFO] [stdout]  925 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating packages/tokio-tar/examples/write.rs from 2021 edition to 2024
[INFO] [stderr] warning: `packages/deamon/src/main.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr]    Migrating packages/tokio-tar/examples/raw_list.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/examples/raw_list.rs:17:32
[INFO] [stdout]     |
[INFO] [stdout]  17 |         while let Some(file) = entries.next().await {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |              |
[INFO] [stdout]     |                                |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  18 |             println!("-------------------------- Entry {}", i);
[INFO] [stdout]  19 |             let mut f = file.unwrap();
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `f` calls a custom destructor
[INFO] [stdout]     |                 `f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  40 |             if let Ok(Some(extensions)) = f.pax_extensions().await {
[INFO] [stdout]     |                                           ------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  52 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating packages/bootstrap-bin/src/bin/bootstrap/main.rs from 2021 edition to 2024
[INFO] [stderr] warning: `packages/binding/src/lib.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr]    Migrating packages/tokio-tar/examples/extract_file.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating packages/tokio-tar/tests/entry.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/examples/extract_file.rs:21:32
[INFO] [stdout]     |
[INFO] [stdout]  21 |         while let Some(file) = entries.next().await {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |              |
[INFO] [stdout]     |                                |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  22 |             let mut f = file.unwrap();
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `f` calls a custom destructor
[INFO] [stdout]     |                 `f` will be dropped later as of Edition 2024
[INFO] [stdout]  23 |             if f.path().unwrap() == filename {
[INFO] [stdout]  24 |                 copy(&mut f, &mut stdout()).await.unwrap();
[INFO] [stdout]     |                 ---------------------------------
[INFO] [stdout]     |                 |                 |
[INFO] [stdout]     |                 |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  25 |             }
[INFO] [stdout]  26 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed packages/tokio-tar/tests/entry.rs (1 fix)
[INFO] [stderr]    Migrating packages/tokio-tar/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed packages/tokio-tar/src/header.rs (2 fixes)
[INFO] [stderr]        Fixed packages/tokio-tar/src/archive.rs (3 fixes)
[INFO] [stderr]        Fixed packages/tokio-tar/src/entry.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/src/archive.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |         while let Some(entry) = pinned.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 234 |             let mut file = entry.map_err(|e| TarError::new("failed to iterate over archive", e))?;
[INFO] [stdout]     |                 --------   ----------------------------------------------------------------------
[INFO] [stdout]     |                 |          |
[INFO] [stdout]     |                 |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `file` calls a custom destructor
[INFO] [stdout]     |                 `file` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |             file.unpack_in(dst.as_ref()).await?;
[INFO] [stdout]     |             ----------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 236 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/src/builder.rs:603:37
[INFO] [stdout]     |
[INFO] [stdout] 602 |             let mut entries = fs::read_dir(&src).await?;
[INFO] [stdout]     |                 -----------   -------------------------
[INFO] [stdout]     |                 |             |                  |
[INFO] [stdout]     |                 |             |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |             |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `entries` calls a custom destructor
[INFO] [stdout]     |                 `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 603 |             while let Some(entry) = entries.next_entry().await.transpose() {
[INFO] [stdout]     |                                     --------------------------^^^^^^^^^^^^
[INFO] [stdout]     |                                     |                    |
[INFO] [stdout]     |                                     |                    this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                     |                    up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                     up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 604 |                 let entry = entry?;
[INFO] [stdout]     |                     -----   ------
[INFO] [stdout]     |                     |       |
[INFO] [stdout]     |                     |       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                     |       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `entry` calls a custom destructor
[INFO] [stdout]     |                     `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 605 |                 let file_type = entry.file_type().await?;
[INFO] [stdout]     |                                 -----------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 606 |                 stack.push((entry.path(), file_type.is_dir(), file_type.is_symlink()));
[INFO] [stdout] 607 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 608 |             if dest != Path::new("") {
[INFO] [stdout] 609 |                 append_dir(dst, &dest, &src, mode).await?;
[INFO] [stdout]     |                 ----------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 612 |             let stat = fs::symlink_metadata(&src).await?;
[INFO] [stdout]     |                        --------------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 613 |             let link_name = fs::read_link(&src).await?;
[INFO] [stdout]     |                             -------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 614 |             append_fs(dst, &dest, &stat, &mut io::empty(), mode, Some(&link_name)).await?;
[INFO] [stdout]     |             ----------------------------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |             `#10` will be dropped later as of Edition 2024
[INFO] [stdout] 615 |         } else {
[INFO] [stdout] 616 |             append_file(dst, &dest, &mut fs::File::open(src).await?, mode).await?;
[INFO] [stdout]     |             --------------------------------------------------------------------
[INFO] [stdout]     |             |                            |                   |
[INFO] [stdout]     |             |                            |                   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |             |                            |                   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |             |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |             |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |             |                            this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |             |                            `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |             |                            this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |             |                            `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |             `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/runtime/task/join.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/src/builder.rs:603:37
[INFO] [stdout]     |
[INFO] [stdout] 603 |             while let Some(entry) = entries.next_entry().await.transpose() {
[INFO] [stdout]     |                                     --------------------------^^^^^^^^^^^^
[INFO] [stdout]     |                                     |                    |
[INFO] [stdout]     |                                     |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                     |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 604 |                 let entry = entry?;
[INFO] [stdout]     |                     -----   ------
[INFO] [stdout]     |                     |       |
[INFO] [stdout]     |                     |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `entry` calls a custom destructor
[INFO] [stdout]     |                     `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 605 |                 let file_type = entry.file_type().await?;
[INFO] [stdout]     |                                 -----------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 606 |                 stack.push((entry.path(), file_type.is_dir(), file_type.is_symlink()));
[INFO] [stdout] 607 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> packages/tokio-tar/src/archive.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let Self { inner, buf } = self;
[INFO] [stdout]     |                           ---
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `buf` calls a custom destructor
[INFO] [stdout]     |                           `buf` will be dropped later as of Edition 2024
[INFO] [stdout] 157 |
[INFO] [stdout] 158 |         match Arc::try_unwrap(inner) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 162 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes_mut.rs:925:1
[INFO] [stdout]     |
[INFO] [stdout] 925 | impl Drop for BytesMut {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating packages/utils/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed packages/utils/src/error.rs (2 fixes)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 16s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cargo-lock v4.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: binding v0.1.0 (/opt/rustwide/workdir/packages/binding) updating edition from 2024 to 2024
[INFO] [stderr] crater-edition-check: downloader v0.1.0 (/opt/rustwide/workdir/packages/downloader) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: nydus-bootstrap v0.1.0 (/opt/rustwide/workdir/packages/bootstrap) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: nydus-utils v0.1.0 (/opt/rustwide/workdir/packages/utils) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rafs v0.1.0 (/opt/rustwide/workdir/packages/rafs) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tokio-tar v0.3.0 (/opt/rustwide/workdir/packages/tokio-tar) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fcntl v0.1.0 (/opt/rustwide/workdir/packages/fcntl) updating edition from 2024 to 2024
[INFO] [stderr] crater-edition-check: nydus-rs v0.1.0 (/opt/rustwide/workdir/packages/bootstrap-bin) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rapid_deamon v0.1.0 (/opt/rustwide/workdir/packages/deamon) updating edition from 2024 to 2024
[INFO] [stderr] crater-edition-check: rapid-rs v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling nydus-utils v0.1.0 (/opt/rustwide/workdir/packages/utils)
[INFO] [stderr]     Checking tokio-tar v0.3.0 (/opt/rustwide/workdir/packages/tokio-tar)
[INFO] [stderr]     Checking fcntl v0.1.0 (/opt/rustwide/workdir/packages/fcntl)
[INFO] [stderr]     Checking rapid-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `lock_contended_error`
[INFO] [stdout]  --> packages/fcntl/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fs2::{lock_contended_error, FileExt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Ok(msg) => Ok(()),
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rapid_deamon v0.1.0 (/opt/rustwide/workdir/packages/deamon)
[INFO] [stdout] warning: unused import: `lock_contended_error`
[INFO] [stdout]  --> packages/fcntl/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fs2::{lock_contended_error, FileExt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Ok(msg) => Ok(()),
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fs::remove_file(fp);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = fs::remove_file(fp);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         f.lock();
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let _ = f.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         f.unlock();
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let _ = f.unlock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         f2.lock();
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let _ = f2.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         f2.unlock();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = f2.unlock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fs::remove_file(fp);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let _ = fs::remove_file(fp);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         f.lock();
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = f.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> packages/fcntl/src/lib.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         f2.lock();
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let _ = f2.lock();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> packages/deamon/src/config.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_ps_snapshot`
[INFO] [stdout]   --> packages/deamon/src/config.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::{get_ps_snapshot, start_command};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> packages/deamon/src/config.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_ps_snapshot`
[INFO] [stdout]   --> packages/deamon/src/config.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::{get_ps_snapshot, start_command};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let mut this = self.get_mut();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rafs v0.1.0 (/opt/rustwide/workdir/packages/rafs)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/deamon/src/config.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let mut pids = vec![];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> packages/deamon/src/config.rs:414:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | impl ProjectConfig {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 414 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_projects` is never used
[INFO] [stdout]   --> packages/deamon/src/pid.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub async fn kill_projects(process_map: Arc<Mutex<BTreeMap<String, ProjectInfo>>>) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_project` is never used
[INFO] [stdout]    --> packages/deamon/src/pid.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub async fn init_project(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ps_snapshot` is never used
[INFO] [stdout]  --> packages/deamon/src/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn get_ps_snapshot() -> Result<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_and_create_file` is never used
[INFO] [stdout]   --> packages/deamon/src/utils.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn check_and_create_file(file_path: &str) -> io::Result<File> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/deamon/src/server.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             sender.lock().await.send(0).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let _ = sender.lock().await.send(0).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 |         let mut this = self.get_mut();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:356:19
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                  ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:392:24
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:342:23
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:930:23
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> packages/tokio-tar/src/header.rs:1569:22
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<[u8]>> {
[INFO] [stdout]      |                      ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<'_, [u8]>> {
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/tokio-tar/src/pax.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:356:19
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                  ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/entry.rs:392:24
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<Path>> {
[INFO] [stdout]     |                 ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 331 |     pub fn path(&self) -> io::Result<Cow<'_, Path>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:342:23
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<Path>>> {
[INFO] [stdout]     |                      ^^^^^                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn link_name(&self) -> io::Result<Option<Cow<'_, Path>>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<[u8]>> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn link_name_bytes(&self) -> Option<Cow<'_, [u8]>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/tokio-tar/src/header.rs:930:23
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     pub fn path_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> packages/tokio-tar/src/header.rs:1569:22
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<[u8]>> {
[INFO] [stdout]      |                      ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub fn path2bytes(p: &Path) -> io::Result<Cow<'_, [u8]>> {
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/tokio-tar/src/pax.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pax_extensions(a: &[u8]) -> PaxExtensions<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> packages/deamon/src/config.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let mut pids = vec![];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statvfs64`
[INFO] [stdout]  --> packages/rafs/src/metadata/abi.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use libc::{blksize_t, dev_t, mode_t, nlink_t, stat64, statvfs64};
[INFO] [stdout]   |                                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/cached.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/direct.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project`
[INFO] [stdout]   --> packages/deamon/src/server.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     if let Some(mut project) = project_tree.remove(&request.project_path) {
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `statvfs64`
[INFO] [stdout]  --> packages/rafs/src/metadata/abi.rs:2:55
[INFO] [stdout]   |
[INFO] [stdout] 2 | use libc::{blksize_t, dev_t, mode_t, nlink_t, stat64, statvfs64};
[INFO] [stdout]   |                                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/cached.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::metadata::layout::*`
[INFO] [stdout]   --> packages/rafs/src/metadata/direct.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::metadata::layout::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_projects` is never used
[INFO] [stdout]   --> packages/deamon/src/pid.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub async fn kill_projects(process_map: Arc<Mutex<BTreeMap<String, ProjectInfo>>>) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_project` is never used
[INFO] [stdout]    --> packages/deamon/src/pid.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub async fn init_project(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ps_snapshot` is never used
[INFO] [stdout]  --> packages/deamon/src/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn get_ps_snapshot() -> Result<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_and_create_file` is never used
[INFO] [stdout]   --> packages/deamon/src/utils.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn check_and_create_file(file_path: &str) -> io::Result<File> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> packages/deamon/src/server.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             sender.lock().await.send(0).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let _ = sender.lock().await.send(0).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable`, `threads_count`, `merging_size`, and `bandwidth_rate` are never read
[INFO] [stdout]   --> packages/rafs/src/fs.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FsPrefetchControl {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     enable: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 64 |     #[serde(default = "default_threads_count")]
[INFO] [stdout] 65 |     threads_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     merging_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     bandwidth_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FsPrefetchControl` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const DOT: &str = ".";
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOTDOT` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const DOTDOT: &str = "..";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `path_from_ino` and `ino_from_path` are never used
[INFO] [stdout]    --> packages/rafs/src/metadata/mod.rs:382:19
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl RafsSuper {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub(crate) fn path_from_ino(&self, ino: Inode) -> Result<PathBuf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub(crate) fn ino_from_path(&self, f: &Path) -> Result<u64> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_ID` is never used
[INFO] [stdout]   --> packages/rafs/src/metadata/abi.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const ROOT_ID: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:365:14
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> packages/rafs/src/metadata/direct.rs:747:14
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<Arc<DirectMappingState>> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn state(&self) -> Guard<'_, Arc<DirectMappingState>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> packages/rafs/src/storage/compress/mod.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<[u8]>, bool)> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn compress(src: &[u8], algorithm: Algorithm) -> Result<(Cow<'_, [u8]>, bool)> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nydus-bootstrap v0.1.0 (/opt/rustwide/workdir/packages/bootstrap)
[INFO] [stdout] warning: unused import: `flate2::bufread::GzDecoder`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use flate2::bufread::GzDecoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RafsDigest`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rafs::metadata::digest::{self, RafsDigest};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result as SerdeJSONResult`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Result as SerdeJSONResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `SeekFrom`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{BufReader, BufWriter, Read, SeekFrom};
[INFO] [stdout]    |               ^^^^^^^^^             ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tar::Archive`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tar::Archive;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> packages/bootstrap/src/builder.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use anyhow::{anyhow, bail, Context, Error, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use anyhow::{anyhow, bail, Context, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::path::{Component, Path, PathBuf};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |     stargz::{TocEntry, TocIndex},
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bootstrap::BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::bootstrap::BlobIdsTocIndexes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsStr`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::OsStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU64` and `Ordering`
[INFO] [stdout]   --> packages/bootstrap/src/tree.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tree::Tree`
[INFO] [stdout]   --> packages/bootstrap/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::tree::Tree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::bufread::GzDecoder`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use flate2::bufread::GzDecoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RafsDigest`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rafs::metadata::digest::{self, RafsDigest};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result as SerdeJSONResult`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use serde_json::Result as SerdeJSONResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `SeekFrom`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{BufReader, BufWriter, Read, SeekFrom};
[INFO] [stdout]    |               ^^^^^^^^^             ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tar::Archive`
[INFO] [stdout]   --> packages/bootstrap/src/bootstrap.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tar::Archive;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> packages/bootstrap/src/builder.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use anyhow::{anyhow, bail, Context, Error, Result};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlobIdsTocIndexes`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:32:40
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::bootstrap::{BlobIdTocIndex, BlobIdsTocIndexes};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stargz::TocIndex`
[INFO] [stdout]   --> packages/bootstrap/src/builder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::stargz::TocIndex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> packages/bootstrap/src/stargz.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[WARN] too many lines in the log, truncating it
